package cn.sfrog.project.biz.admin.domain;

import cn.sfrog.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


@Data
@TableName("biz_service_order")
public class BizServiceOrder extends BaseEntity<BizServiceOrder>{

    public static final BizServiceOrder DAO = new BizServiceOrder();

    private static final long serialVersionUID = 1L;

    /**购买类型-服务*/
    public static final String BUY_TYPE_SERVICE = "1";
    /**购买类型-套餐*/
    public static final String BUY_TYPE_COMBO = "2";

    /**订单类型-用户订单*/
    public static final String TYPE_USER = "1";

    /**订单类型-客服*/
    public static final String TYPE_KF = "2";

    /**订单评价状态-未评价*/
    public static final String EVALUATION_STATUS_NO = "0";

    /**订单评价状态-已评价*/
    public static final String EVALUATION_STATUS_YES = "1";

    /**订单投诉状态-投诉了*/
    public static final String COMPLAINT_STATUS_YES = "1";
    /**订单投诉状态-未投诉*/
    public static final String COMPLAINT_STATUS_NO= "0";


    /** id */
    @TableId(type = IdType.AUTO)
    private Long id;


    /** 服务订单编号 */
    private String serviceOrderSn;


    /** 订单类型【1=用户订单 2=客服代下单】 */
    private String type;


    /** 下单用户id */
    private Long userId;
    /** 客服id */
    private Long kfId;


    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date appointmentDate;


    /** 预约医院id */
    private Long hospitalId;


    /** 联系人手机号 */
    private String contactPhone;


    /** 联系人姓名 */
    private String contactName;


    /** 特殊需求 */
    private String specialNeeds;

    /** 特殊需求 */
    private String idCardNumber;


    /** 购买的类型【1=服务 2=套餐】 */
    private String buyType;


    /** 商品id  */
    private Long productId;


    /** 购买数量 */
    private Integer num;


    /** 订单金额【陪护豆】 */
    private BigDecimal amount;

    /**  接单用户预计收入陪护豆 */
    private BigDecimal  expectIncomeAmount;


    /** 订单状态【1=待服务 2=待支付 3=待接单 4=服务中 5=已完成 6=已取消】 */
    private String orderStatus;


    /** 派单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dispatchTime;


    /** 完成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;


    /** 取消时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date cancelTime;

    /** 签到时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date signInTime;

    /** 支付到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentExpireTime;


    /** 接单到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date acceptExpireTime;




    /** 支付时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date paymentTime;

    /** 删除状态【0=未删除 1=已删除】*/
    private String delFlag;

    /** 评价状态【0=未评价 1=已评价】 */
    private String evaluationStatus;

    /** 投诉状态【0=未投诉 1=投诉了】 */
    private String complaintStatus;

    /** 接单人id */
    private Long acceptUserId;

    /**派单类型【10=客户派单 20=陪诊派单 30=护工派单 40=医生派单】*/
    private String dispatchType;



    /**
     * 创建者
     */
    private String createBy;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 更新者
     */
    private String updateBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 签到经度
     */
    private String signLongitude;

    /**
     * 签到纬度
     */
    private String signLatitude;

    /**
     * 代取药，药品类型 1是处方0是非处方
     */
    private String drugType;

    /**
     * 挂号类型，专家号1普通号2
     */
    private String registrationType;

    /**
     * 目的地,送到客户手中的目的地
     */
    private String address;
    /**
     * 下单医院的二级分类id
     */
    private String departmentId;
    /**
     * 下单医院医生的id
     */
    private String doctorId;

}
